using SheLife.Domain.Entities;

namespace SheLife.Domain.Interfaces.Repositories
{
    /// <summary>
    /// 系统菜单仓储接口
    /// </summary>
    public interface ISystemMenuRepository : IRepository<SystemMenu>
    {
        Task<IEnumerable<SystemMenu>> GetByParentIdAsync(Guid? parentId);
        Task<SystemMenu> GetByCodeAsync(string code);
        Task<IEnumerable<SystemMenu>> GetByRoleIdAsync(Guid roleId);
        Task<IEnumerable<SystemMenu>> GetActiveMenusAsync();
        Task<bool> IsCodeExistsAsync(string code);
        Task<IEnumerable<SystemMenu>> GetByUserIdAsync(Guid userId);
    }
}